package dao

import (
	"time"
)

// 这是 UmsMember 的全局公开dao对象，被service层调用!
var UmsMemberDao = umsMemberDao{}

// 这是 ums_member表 的实体类
type UmsMember struct {
	Birthday              string    `json:"birthday" form:"birthday" v:"birthday"`
	City                  string    `json:"city" form:"city" v:"city"`
	CreateTime            time.Time `json:"create_time" form:"create_time" v:"create_time"`
	Gender                int32     `json:"gender" form:"gender" v:"gender"`                                        // 性别：0-&gt;未知；1-&gt;男；2-&gt;女
	Growth                int32     `json:"growth" form:"growth" v:"growth"`                                        // 成长值
	HistoryIntegration    int32     `json:"history_integration" form:"history_integration" v:"history_integration"` // 历史积分数量
	Icon                  string    `json:"icon" form:"icon" v:"icon"`                                              // 头像
	Id                    int64     `json:"id" form:"id" v:"id"`
	Integration           int32     `json:"integration" form:"integration" v:"integration"`                                  // 积分
	Job                   string    `json:"job" form:"job" v:"job"`                                                          // 职业
	LucKeyCount           int32     `json:"lucKey_count" form:"lucKey_count" v:"lucKey_count"`                               // 剩余抽奖次数
	MemberLevelId         int64     `json:"member_level_id" form:"member_level_id" v:"member_level_id"`                      // 这是一个外键，关联ums_member_level(id)
	Nickname              string    `json:"nickname" form:"nickname" v:"nickname"`                                           // 昵称
	Password              string    `json:"password" form:"password" v:"password"`                                           // 密码
	PersonalizedSignature string    `json:"personalized_signature" form:"personalized_signature" v:"personalized_signature"` // 个性签名
	Phone                 string    `json:"phone" form:"phone" v:"phone"`                                                    // 手机号码
	SourceType            int32     `json:"source_type" form:"source_type" v:"source_type"`                                  // 用户来源
	Status                int32     `json:"status" form:"status" v:"status"`                                                 // 帐号启用状态:0-&gt;禁用；1-&gt;启用
	Username              string    `json:"username" form:"username" v:"username"`                                           // 用户名

}

// 注意:这是 UmsMember 的私有dao对象，只能在dao层内使用!
type umsMemberDao struct {
	InsertTemplate func(arg UmsMember) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg UmsMember) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                    `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (UmsMember, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]UmsMember, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 ums_member 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type UmsMemberPostman struct {
birthday
city
create_time
gender
growth
history_integration
icon
id
integration
job
lucKey_count
member_level_id
nickname
password
personalized_signature
phone
source_type
status
username

}*/

// 这是 ums_member 表的批量请求参数
type UmsMemberReq struct {
	List []UmsMember `json:"list" form:"list"`
}
